Acronyms used herein are listed below following the detailed description. The recommended specifications ITU-T H.263 and H.264 (04/2015) provide typical hybrid video codecs in that they encode the video information in two phases. Firstly pixel values in a certain picture area (termed a “block”) are predicted for example by motion compensation means or by spatial means. Motion compensation generally includes finding and indicating an area in one of the previously coded video frames that corresponds closely to the block being coded; spatial means generally includes using the pixel values around the block to be coded in a specified manner. Secondly the prediction error is coded; the prediction error is the difference between the predicted block of pixels and the original block of pixels. Coding the prediction error is typically done by transforming the difference in pixel values using a specified transform such as for example a Discreet Cosine Transform (DCT) or some variant of it, quantizing the coefficients and entropy-coding the quantized coefficients. By varying the fidelity of the quantization process, the encoder can control the balance between the accuracy of the pixel representation (the picture quality) and the size of the resulting coded video representation (the file size or transmission bitrate).
Another image/video coding standard is ITU-T H.265, also referred to as High Efficiency Video Coding HEVC). This approach builds intra frame sample prediction blocks using directional filtering, and projects the sample location of the sample to be predicted onto the reference row using a selected prediction direction, and also applies a 1-dimensional linear filter to interpolate a predicted value for the sample. For the case of directly horizontal or directly vertical prediction directions, one of the block boundaries is additionally filtered with a sample gradient based filter. HEVC also defines direct current (DC) and planar prediction modes. DC prediction calculates the DC component of the reference samples and uses that as a prediction for the samples within a block, whereas planar prediction calculates an average of two linear predictions to predict blocks with smooth sample surface.
From the above review it is clear that spatial intra prediction typically creates a sample prediction block based on decoded samples around the block. That approach is able to model certain kinds of structures in the block very well, but at the same time it fails to predict some common classes of textures. For example, the directional sample prediction is able to accurately model shapes that match with the supported prediction directions, but when moving further away from the reference samples the prediction tends to become less reliable and often some prediction error aligned with the selected prediction direction begins to appear. Embodiments of these teachings detailed more particularly below address this shortfall or the prior art and others.